package org.shj.pattern.status;

/**
 * 状态模式:主要解决的是当控制一个对像状态转换的条件表达式过于复杂时的情况，把状态的判断逻辑转移到表示不同状态的一系列类当中。
 * 好处：将与特定状态相关的行为局部化，并且将不同的状态的行为分割开来。
 * 使用场景：当一个对象的行为取决地它的状态，并且它必须在运行时刻根据状态改变它的行为时，就可以考虑使用状态模式了。
 * @author huangjian
 *
 */
public class Main {

	public static void main(String[] args){
		Status status = new StatusA();
		
		Context ctx = new Context(status);
		ctx.setCurStatus("B");
		
		ctx.request();
	}
}
